const {resolve} = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')

const MiniCssExtractPlugin = require('mini-css-extract-plugin')
// 有点：将样式通过link标签引入而不是style(不会出现闪屏现象)，同时减少了js的打包体积
module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/built.js',
    path: resolve(__dirname, 'build')
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          // 'style-loader', // 创建style标签将样式放入

          MiniCssExtractPlugin.loader, // 取代js中的css成单独文件并自动引入index.html
          'css-loader'  // 将css文件整合到js文件

        ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),
    new MiniCssExtractPlugin({
      // 指定放入的文件夹
      filename: 'css/main.css'
    })
  ],
  mode: 'development'
}